A virtual machine is a virtual sharing or partitioning of computer resources. For example, the virtually partitioned resources may include one or more processors, memory, storage, network cards, etc. Each virtual machine may run its own instance of an operating system and may run one or more applications on its operating system.
In a networked environment, virtual machines may be allocated in a variety of different locations. For example, in a cloud computing environment, virtual machines may be allocated based on demand for certain computer resources and/or functions. Further, virtual machines may often be migrated from one physical machine or host to another. For example, a virtual machine may be copied and moved to a different host system to provide a back-up system while hardware and/or software upgrades are installed. Virtual machines may also be migrated to better utilize available resources or in response to a system error or failure.